import {
  setToken
} from '../../utils/setToken';

Page({
  data: {
    // 倒计时变量
    countDown: 0,
    // 手机号
    mobile: '',
    // 验证码
    code: '',
    // 重定向
    from: '',
  },
  onLoad(option) {
    // console.log(option)
    this.setData({
      from: option.from
    })
  },
  // 点击登录
  handleLoginTap() {
    // 表单验证：手机号
    if (!this.isMobileValid()) {
      return wx.showToast({
        title: '手机号码格式错误',
        icon: 'none'
      })
    }
    // 表单验证：和验证码
    if (!this.isCodeValid()) {
      return wx.showToast({
        title: '验证码格式错误',
        icon: 'none'
      })
    }
    // 登录
    this.login()
  },
  login() {
    wx.request({
      url: 'https://live-api.itheima.net/login',
      method: 'POST',
      data: {
        mobile: this.data.mobile,
        code: this.data.code
      },
      success: (res) => {
        // console.log('注册/登录结果', res)
        if (res.data.code !== 10000) {
          return wx.showToast({
            title: res.data.message,
            icon: 'none'
          })
        }
        // 保存token
        setToken('token', res.data.data.token)
        if (this.data.from) {
          wx.redirectTo({
            url: this.data.from,
          })
        }

      }
    })
  },
  // 点击获取验证码
  handleGetCodeTap() {
    // 手机号表单验证
    if (!this.isMobileValid()) {
      return wx.showToast({
        title: '手机号格式错误',
        icon: 'none'
      })
    }
    // 获取验证码
    this.getCode()
    // 开启倒计时
    this.startCountDown()
  },
  // 获取验证码
  getCode() {
    // console.log('获取验证码')
    wx.request({
      url: 'https://live-api.itheima.net/code',
      method: 'GET',
      data: {
        mobile: this.data.mobile
      },
      success: (res) => {
        // console.log(res)
        if (res.data.code !== 10000) {
          return wx.showToast({
            title: res.data.message,
            icon: 'none'
          })
        }
        wx.showModal({
          title: '验证码',
          content: `您收到的验证码为：${res.data.data.code}`,
          showCancel: false
        })
      }
    })
  },
  // 验证码验证
  isCodeValid() {
    // 验证码为6位数字
    const reg = /^\d{6}$/
    // 验证验证码
    const valid = reg.test(this.data.code.trim())
    // 返回验证结果
    return valid
  },
  // 手机号格式验证
  isMobileValid() {
    const reg = /^[1][3-8][0-9]{9}$/
    const valid = reg.test(this.data.mobile.trim())
    return valid
  },
  startCountDown() {
    // 设置倒计时时间
    this.setData({
        countDown: 5
      }),
      // 清除倒计时
      clearInterval(this.tiemrId)
    this.tiemrId = setInterval(() => {
      // 判断倒计时是否为0
      if (this.data.countDown === 0) {
        clearInterval(this.tiemrId)
        return
      }
      // 每隔一秒减一
      this.setData({
        countDown: this.data.countDown - 1
      })
    }, 1000)

  }
});